package javaCode.chapter16.method;

/**
 * @author 徐州城
 * @version 1.0
 * 课堂练习
 * 1. 主线程每隔1s，输出 hi，一共 10次
 * 2. 当输出到 hi 5 时，启动一个子线程(要求实现Runnable)，每隔1s 输出 hello，等该线程输出10次hello后，退出
 * 3. 主线程继续输出 hi，知道主线程退出
 */
public class ThreadMethodExercise {
    public static void main(String[] args) throws InterruptedException {

        Thread thread = new Thread(new T3());//创建子线程

        for (int i = 1; i <= 10; i++) {
            Thread.sleep(250);
            System.out.println("hi " + i);

            if (i == 5){//说明主线程输出5次 hi
                thread.start();//启动子线程
                thread.join();//立即将t3子线程，插入到main，让t3先执行
            }
        }

        System.out.println("主线程结束...");
    }
}

class T3 implements Runnable{

    @Override
    public void run() {

        int count = 0;

        while (true){
            try {
                Thread.sleep(250);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            System.out.println("hello " + (++count));

            if (count == 10){
                break;
            }
        }
        System.out.println("子线程结束...");
    }
}